CREATE TABLE [dbo].[tb_Presupuesto]
(
[idPresupuesto] [int] NOT NULL IDENTITY(1, 1),
[Organizacion] [int] NOT NULL,
[Ejercicio] [int] NOT NULL,
[Partida] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Finalidad] [int] NOT NULL,
[Monto] [float] NOT NULL,
[Estado] [int] NOT NULL
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[updatetb_Presupuesto] ON [dbo].[tb_Presupuesto]
 FOR UPDATE AS 
SET NOCOUNT ON
 IF (update(idPresupuesto)) begin 
	 SELECT * FROM inserted 
	 IF @@ROWCOUNT = 1 begin 
		 UPDATE tb_RegistroContable
		 SET Imputacion = (SELECT idPresupuesto FROM inserted)
		 WHERE tb_RegistroContable.Imputacion = (SELECT idPresupuesto FROM deleted)
	end  ELSE begin 
		 ROLLBACK TRANSACTION 
 end 
 end

GO
ALTER TABLE [dbo].[tb_Presupuesto] ADD CONSTRAINT [PK_tb_Presupuesto] PRIMARY KEY NONCLUSTERED  ([idPresupuesto]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tb_Presupuesto] WITH NOCHECK ADD CONSTRAINT [FK_tb_Presupuesto_tb_EstadosDePartida] FOREIGN KEY ([Estado]) REFERENCES [dbo].[tb_EstadosDePartida] ([idEstadoDePartida])
GO
ALTER TABLE [dbo].[tb_Presupuesto] ADD CONSTRAINT [FK_tb_Presupuesto_tb_FinalidadesDeGasto] FOREIGN KEY ([Finalidad]) REFERENCES [dbo].[tb_FinalidadesDeGasto] ([idFinalidadGasto])
GO
ALTER TABLE [dbo].[tb_Presupuesto] WITH NOCHECK ADD CONSTRAINT [FK_tb_Presupuesto_tb_Organizaciones] FOREIGN KEY ([Organizacion]) REFERENCES [dbo].[tb_Organizaciones] ([idOrganizaciones])
GO
ALTER TABLE [dbo].[tb_Presupuesto] NOCHECK CONSTRAINT [FK_tb_Presupuesto_tb_Organizaciones]
GO
